#include "WriterBase.hpp"

namespace  AMCAX::Exchange {


    Dtk_ErrorStatus WriterBase::WriteInit(Dtk_string DumpFile, const Dtk_string& inOutputFolder)
    {
        return dtkNoError;
    }

    Dtk_ErrorStatus WriterBase::WriteInit(Dtk_string DumpFile, const Dtk_string& inOutputFolder, int Option)
    {
        return dtkNoError;
    }

    Dtk_ErrorStatus WriterBase::WriteEnd()
    {
        return dtkNoError;
    }

    void WriterBase::InitComponent(Dtk_ComponentPtr inComponent)
    {

    }

    void WriterBase::EndComponent(Dtk_ComponentPtr inComponent)
    {

    }

    Dtk_ErrorStatus WriterBase::CreateAssembly(Dtk_ComponentPtr inComponent, Dtk_ID& outAssemblyId)
    {
        return dtkNoError;
    }

    Dtk_ErrorStatus WriterBase::CloseAssembly(const Dtk_ComponentPtr& inComponent)
    {
        return dtkNoError;
    }

    Dtk_ErrorStatus WriterBase::CreateInstance(Dtk_ID inAssemblyId, Dtk_ID inPrototypeId, Dtk_transfoPtr matrix, Dtk_ID& outIdInst)
    {
        return dtkNoError;
    }

    void WriterBase::InitNode(Dtk_NodePtr inNode)
    {

    }

    void WriterBase::EndNode()
    {

    }

    void WriterBase::WriteMesh(Dtk_MeshPtr& inMeshToWrite, Dtk_tab<Dtk_ID>& outIds)
    {

    }

    void WriterBase::WriteKinematics(const Dtk_KinematicPtr& inKinematics)
    {

    }

    void WriterBase::WriteConstraint(const Dtk_ConstraintPtr& inConstraint)
    {

    }

    void WriterBase::WriteAxisSystem(const Dtk_AxisSystemPtr& inAxis)
    {

    }

    void WriterBase::WriteDrawing(const Dtk_DrawingPtr& inDrawing)
    {

    }

    void WriterBase::WriteCamera(const Dtk_CameraPtr& inCamera)
    {

    }

    void WriterBase::WriteFdt(const Dtk_FdtPtr& inFdt)
    {

    }

    void WriterBase::WriteFeature(const Dtk_FeaturePtr& inFeature)
    {

    }

    void WriterBase::WriteBody(Dtk_BodyPtr& inBody, Dtk_tab<Dtk_ID>& outIds)
    {

    }

    void WriterBase::WriteGlobalDataSet(const Dtk_GlobalDataSetPtr& inSelectionSet)
    {

    }

    void WriterBase::WriteMetaData(const Dtk_MetaDataPtr& inMetaData)
    {

    }

    void WriterBase::WriteColorPalette(const Dtk_ColorInfosSetPtr &inColorInfos)
    {

    }

    void WriterBase::WriteLayerFilter(const Dtk_LayerInfosSetPtr& inLayerInfos)
    {

    }

    const wchar_t *WriterBase::GetWStringFromDtkString(const Dtk_string& inString)
    {
        #ifdef Linux
        return inString.w_str();
        #else
        return inString._w_str_w();
        #endif
    }
}
